home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part2 / 11424 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  3.8 KB

  1. Path: solon.com!not-for-mail
  2. From: seebs@solutions.solon.com (Peter Seebach)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: Interest in comments on the C language.
  5. Date: 23 Mar 1996 21:30:12 -0600
  6. Organization: Usenet Fact Police (Undercover)
  7. Message-ID: <4j2fk4$hr3@solutions.solon.com>
  8. References: <4inp40$kj2@ogre.cs.waikato.ac.nz> <4j1mbj$j5h@news.interpath.net>
  9. NNTP-Posting-Host: solutions.solon.com
  10.  
  11. In article <4j1mbj$j5h@news.interpath.net>,
  12. Scott McMahan - Softbase Systems <softbase@mercury.interpath.com> wrote:
  13. >Oliver R Jones (orj@cs.waikato.ac.nz) wrote:
  14. >: 1: Is C inheriantly efficient (speed and code space wise)?
  15.  
  16. >C is efficient on 32-bit UNIX machines. If you deviate from the
  17. >types of machines C was developed for, it becomes a matter of
  18. >how good the compiler is.
  19.  
  20. C was designed and developed for 16-bit machines.  C is elegant on a 64-bit
  21. system, but much poorly considered code will perform poorly in one way or
  22. another on such a system.
  23.  
  24. >: 2: Is C inheriantly very readable and writable?  
  25.  
  26. >C is very writeable as-is, it takes extreme effort on the part of the
  27. >writer and reader to make it readable.
  28.  
  29. I wouldn't call it extreme; I can produce what I believe to be legible
  30. code without significant effort.
  31.  
  32. >C is as easy for non-coders to read as any other language.
  33. >Infer from that whatever you want to.
  34.  
  35. :)  This is not entirely true; there are languages which are harder for
  36. non-coders to get information out of.  As a *definitively* non-coding
  37. child, I was able to read the source to `hack' quite comfortably, simply
  38. because it was written in terms of symbols I knew ("+", for instance)
  39. and I understood the logic it was implementing.  I could read it well
  40. enough to decipher what the monster data would look like and edit that
  41. data with a binary editor, and I could read it well enough to predict
  42. the results of actions before trying them.
  43.  
  44. >: 3: Is C a very simple language?
  45.  
  46. >The core language is one of the simplest ever. It eliminates
  47. >almost every special case and exception to the rules other
  48. >languages have, and is very minimal. But, the library is
  49. >a monster because of this! It picks up all the slack from the
  50. >language! It has to provide all the stuff the language lacks.
  51.  
  52. This is basically true.  The Unix syscall interface is nearly
  53. simple and elegant, and Plan 9 is very close to having a
  54. programming interface that meshes well with C.
  55.  
  56. You can write libraries for C which are much simpler and more
  57. elegant to the user than the standard one, and I frequently do.
  58.  
  59. >: 4: Is it consistant with accepted mathematical notations?
  60.  
  61. >No, that's APL.
  62.  
  63. *smirk*
  64.  
  65. >: 5: Why was C designed and for what purpose?
  66.  
  67. >C was designed for implementing the UNIX operating system and
  68. >its utilities. Since then, its purpose has been to provide
  69. >a general purpose language for multiple platforms. Its purpose
  70. >became far beyond its original design!
  71.  
  72. This is generally the case of elegant designs.  C was designed to
  73. allow programmers to write the whole range of code, from low-level
  74. bit twiddling through abstractions and libraries, in a single
  75. language.  It scales remarkably well to either end of the spectrum;
  76. I've seen tightly written C that compiles to a provably optimal
  77. sequence of instructions for the task at hand, and I've seen
  78. abstracted libraries that provide a simple interface to some truly
  79. hairy work.
  80.  
  81. I would think that the purpose was more general than you would
  82. imply, but I'm in no position to prove it.
  83.  
  84. This is the real reason I write C; I can do proper, modern SE, and
  85. if I need speed, I can tweak the piece of code that needs it, *without*
  86. having to switch environments.
  87.  
  88. -s
  89. -- 
  90. Peter Seebach - seebs@solon.com - Copyright 1996 Peter Seebach.
  91. C/Unix wizard -- C/Unix questions? Send mail for help.  No, really!
  92. FUCK the communications decency act.  Goddamned government.  [literally.]
  93. The *other* C FAQ - http://www.solon.com/~seebs/c/c-iaq.html
  94.